package com.drg.center.entity.result;

import com.drg.center.entity.constants.BusinessDictCodeConstant;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.guaike.core.entity.annotation.DictConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@ApiModel("在院病例监测列表信息")
@Data
public class CaseMonitorPageVO implements Serializable {
    @ApiModelProperty("病例号")
    private String caseCode;

    @ApiModelProperty("病例类型（1:低倍率病例，2:高倍率病例）")
    @DictConvert(code = BusinessDictCodeConstant.caseType)
    private Integer caseType;

    @ApiModelProperty("是否超支病例")
    private Boolean overCost;

    @ApiModelProperty("是否质控问题病例")
    private Boolean problemCase;

    @ApiModelProperty("是否预警病例")
    private Boolean warnCase;

    @ApiModelProperty("住院号")
    private String inpatientCode;

    @ApiModelProperty("患者姓名")
    private String patientName;

    @ApiModelProperty("患者性别")
    private String patientSex;

    @ApiModelProperty("患者年龄（岁）")
    private Integer patientAge;

    @ApiModelProperty("患者年龄，天")
    private Integer ageDay;

    @ApiModelProperty("身份证号")
    private String idCard;

    @ApiModelProperty("医保类型")
    private String medicareType;

    @ApiModelProperty("统筹区")
    private String coordinationArea;

    @ApiModelProperty("床位号")
    private String bedCode;

    @ApiModelProperty("科室名称")
    private String departName;

    @ApiModelProperty("医生姓名")
    private String doctorName;

    @ApiModelProperty("his主要诊断名称")
    private String diagnosisName;

    @ApiModelProperty("his主要手术操作名称")
    private String operationName;

    @ApiModelProperty("总费用")
    private BigDecimal totalCost;

    @ApiModelProperty("DRG付费标准")
    private BigDecimal drgCostStandard;

    @ApiModelProperty("费用偏差")
    private BigDecimal costOffset;

    @ApiModelProperty("CHS-DRG编码")
    private String chsDrgCode;

    @ApiModelProperty("CHS-DRG名称")
    private String chsDrgName;

    @ApiModelProperty("入院日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime inHospitalDate;

//    @ApiModelProperty("结算日期")
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private LocalDateTime settleDate;

    @ApiModelProperty("住院天数")
    private Integer inpatientDays;
}
